﻿using System;
//-----------------------------------------------------------------------------------------------------------
// Wbfs Engine (WBFSe) Project by Omega Frost 
// http://wbfse.codeplex.com/
//
// WBFSe is Licensed under the terms of the 
// Microsoft Reciprocal License (Ms-RL)
//-----------------------------------------------------------------------------------------------------------
using System.IO;
using WBFSe.Attributes;
using WBFSe.Data;

namespace WBFSe.Builders
{
    /// <summary>
    /// Default interface for disc builders
    /// </summary>
    interface IDiscBuilder : IDiscExtendedInfo, IDisposable
    {
        /// <summary>
        /// Builds the disc
        /// </summary>
        /// <param name="flags">Flags</param>
        /// <returns>True for successful build, false if not a valid disc</returns>
        bool Build(BuildFlags flags);

        /// <summary>
        /// Extracts the content of a file in the disc
        /// </summary>
        /// <param name="node">File</param>
        /// <param name="stream">Output stream</param>
        bool ExtractFile(FileSystemNode node, Stream stream);
    }
}
